package com.zxp.biz.payment.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zxp.biz.payment.entity.RefundInfo;
import com.zxp.biz.payment.entity.WxMch;

import java.security.GeneralSecurityException;
import java.util.Map;

public interface WxMchService extends IService<WxMch> {

    String WXPAY_V3_DOMAIN="https://api.mch.weixin.qq.com";


    Map<String, Object> nativePay(Long productId, String mchId) throws Exception;

    void processOrder(Map<String, Object> bodyMap) throws GeneralSecurityException;

    void cancelOrder(String orderNo, String mchId) throws Exception;

    String queryOrder(String orderNo, String mchId) throws Exception;

    void checkOrderStatus(String orderNo, String mchId) throws Exception;

    void refund(String orderNo, String reason, String mchId) throws Exception;

    String queryRefund(String orderNo, String mchId) throws Exception;

    void checkRefundStatus(String refundNo, String mchId) throws Exception;

    void processRefund(Map<String, Object> bodyMap) throws Exception;

    String queryBill(String billDate, String type, String mchId) throws Exception;

    String downloadBill(String billDate, String type, String wxMchId) throws Exception;

    Map<String, Object> nativePayV2(Long productId, String remoteAddr, String mchId) throws Exception;


}
